package test.java ;

import java.math.BigDecimal ;
import java.text.DecimalFormat ;
import java.text.NumberFormat ;

/**
 * double类型参数四舍五入转为String类型
 * @author 80002165 @date 2017年7月19日 上午9:28:38
 */
public class DoubleRounding {
    double num = 111234.4493 ;
    
    public String m1() {
        BigDecimal bg = new BigDecimal(num) ;
        double num1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() ;
        return Double.toString(num1) ;
    }
    
    /**
     * DecimalFormat转换
     * @author 80002165 @date 2017年7月19日 上午9:32:09
     * @return
     */
    public String m2() {
        DecimalFormat format = new DecimalFormat("#.00") ;
        return format.format(num) ;
    }
    
    /**
     * String,format打印
     * @author 80002165 @date 2017年7月19日 上午9:33:10
     * @return
     */
    public String m3() {
        return String.format("%.2f", num) ;
    }
    
    public String m4() {
        NumberFormat format = NumberFormat.getInstance() ;
        format.setMaximumFractionDigits(2) ;
        return format.format(num) ;
    }
    
    public String m5() {
        Math.floor(num) ;
        Math.ceil(num) ;
        return null ;
    }
    /*
     *  Math.floor()  
            通过该函数计算后的返回值是舍去小数点后的数值  
            如：Math.floor(3.2)返回3  
            Math.floor(3.9)返回3  
            Math.floor(3.0)返回3  
              
            Math.ceil()  
            ceil函数只要小数点非0，将返回整数部分+1  
            如：Math.ceil(3.2)返回4  
            Math.ceil(3.9)返回4  
            Math.ceil(3.0)返回3 </div>  
     */
}
